The Enhancement of a User-level Thread Package Scheduling on Multiprocessors
نویسندگان
چکیده
Parallel applications on multiprocessors achieve better performance when they run on simpler microkernel scheduling mechanisms with appropriated user level scheduling policies. Our purpose is to offer to application programmers a set of new and simple primitives to get more control over the user-level thread scheduling. This paper presents a new library scheduling approach, based in the CThreads package, running on top of the Mach 3.0 microkernel. To measure and evaluate the proposed primitives, we present experimental results of a multithreaded producer-consumer benchmark. The proposed scheduling primitives reduce the application execution time from 10 to 20% depending on the number of kernel threads and physical processors.
منابع مشابه
A Portable Multiprocessor Interface for Standard Ml of New Jersey
We have designed a portable interface between shared-memory multiprocessors and Standard ML of New Jersey. The interface is based on the conventional kernel thread model and provides facilities that can be used to implement user-level thread packages. The interface supports experimentation with diierent thread scheduling policies and synchronization constructs. It has been ported to three diier...
متن کاملEfficient Runtime Thread Management for the Nano-Threads Programming Model
The nano-threads programming model was proposed to effectively integrate multiprogramming on shared-memory multiprocessors, with the exploitation of fine-grain parallelism from standard applications. A prerequisite for the applicability of the nano-threads programming model is the ability of the runtime environment to manage parallelism at any level of granularity with minimal overheads. In thi...
متن کاملA Multithreading Platform for Multimedia Applications
Complex multimedia applications have diverse resource and timing requirements. A platform for building such programs therefore should supply the developer with mechanisms for managing concurrency, communication, and real-time constraints but should remain flexible with regard to scheduling policies and interaction models. We have developed such a platform consisting of a user-level threads pack...
متن کاملScheduling User-Level Threads on Distributed Shared-Memory Multiprocessors
In this paper we present Dynamic Bisectioning or DBS, a simple but powerful comprehensive scheduling policy for user-level threads, which unifies the exploitation of (multidimensional) loop and nested functional (or task) parallelism. Unlike other schemes that have been proposed and used thus far, DBS is not constrained to scheduling DAGs or singly nested parallel loops. Rather, our policy enco...
متن کاملUser-Level Threads and Interprocess Communication
User-level threads have performance and exibility advantages over both Unix-like processes and kernel threads. However, the performance of user-level threads may su er in multiprogrammed environments, or when threads block in the kernel (e.g., for I/O). These problems can be particularly severe in tasks that communicate frequently using IPC (e.g., multithreaded servers), due to interactions bet...
متن کامل